      <h1 class="entry-title entry-title-single" itemprop="headline">SAP维护视图(1)-生成表维护视图</h1>

    <div class="entry-content entry-content-single entry-content-aside" itemprop="text">
      <p><strong>1. 前言</strong></p>
<p><span class='wp_keywordlink'><a href="http://www.sapjx.com/tag/sap" title="SAP" target="_blank">SAP</a></span>中由于数据量较大，很多Add-On表都需要通过用户自行维护，一般可以直接在SE16N 数据字典上直接维护数据；</p>
<p>但不是每个用户都有其操作权限，而且直接在数据字典上操作数据也有所危险；</p>
<p>因此<span class='wp_keywordlink'><a href="http://www.sapjx.com/tag/sap" title="SAP" target="_blank">SAP</a></span>提供了表<span class='wp_keywordlink_affiliate'><a href="http://www.sapjx.com/tag/table-maintenance-view" title="查看维护视图中的全部文章" target="_blank">维护视图</a></span>生成器，解决了这一难题；</p>
<p>可以通过对数据表直接生成<span class='wp_keywordlink_affiliate'><a href="http://www.sapjx.com/tag/table-maintenance-view" title="查看维护视图中的全部文章" target="_blank">维护视图</a></span>，然后可以在维护视图上直接维护数据。</p>
<p>&nbsp;<br />
<span id="more-652"></span></p>
<p><strong>2. 表维护视图生成器</strong></p>
<p>在数据字典中（SE11），创建完Add-On表后，选择菜单：Utilities -&gt; <span class='wp_keywordlink_affiliate'><a href="http://www.sapjx.com/tag/table-maintenance" title="查看Table Maintenance中的全部文章" target="_blank">Table Maintenance</a></span> Generator</p>
<p>打开表维护视图生成器：</p>
<p><img src="http://www.sapjx.com/wp-content/uploads/2014/11/view_maintenance_01_01_Generator.jpg" alt="view_maintenance_01_01_Generator" width="291" height="319" class="alignnone size-full wp-image-643" /></p>
<p>或者 通过T-Code：SE54进入维护视图生成器：</p>
<p><img src="http://www.sapjx.com/wp-content/uploads/2014/11/view_maintenance_01_02_Generate_Table_Maintenance_Dialog.jpg" alt="view_maintenance_01_02_Generate_Table_Maintenance_Dialog" width="556" height="295" class="alignnone size-full wp-image-644" /></p>
<p>选择 <b>Generated Objects</b> 后，点击 “<b>Create/Change</b>” 按钮。</p>
<p>&nbsp;</p>
<p>表维护生成器如下图所示：</p>
<p><img src="http://www.sapjx.com/wp-content/uploads/2014/11/view_maintenance_01_03_Generator_Content.jpg" alt="view_maintenance_01_03_Generator_Content" width="675" height="418" class="alignnone size-full wp-image-645" /></p>
<p>在生成器界面中，有几个关键字段：</p>
<p><strong>Authorization Group</strong> ：权限组</p>
<p><strong>Authorization object</strong>：权限对象</p>
<p><strong><span class='wp_keywordlink'><a href="http://www.sapjx.com/tag/function" title="Function" target="_blank">Function</a></span> group</strong>：扩展维护视图生成的<span class='wp_keywordlink'><a href="http://www.sapjx.com/tag/function" title="函数" target="_blank">函数</a></span>组</p>
<p><strong>Package</strong>：开发包</p>
<p><strong>Maintenance Screens</strong>：生成维护屏幕</p>
<p><strong>Dialog Data Transport Details</strong>：是否传输数据记录请求</p>
<p>&nbsp;</p>
<p>1) 权限组</p>
<p>&amp;NC&amp; 用户权限组，不做限制的权限组，即是说任何人都可以操作此维护视图；</p>
<p>如若选择其他权限组（如：AA），则需要在用户角色中分配相应的权限对象才可操作此维护视图</p>
<p>&nbsp;</p>
<p>2) 扩展维护视图<span class='wp_keywordlink'><a href="http://www.sapjx.com/tag/function" title="函数" target="_blank">函数</a></span>组</p>
<p>用于<span class='wp_keywordlink_affiliate'><a href="http://www.sapjx.com/tag/sap" title="查看SAP中的全部文章" target="_blank">SAP</a></span>动态生成操作函数的函数组，在分配屏幕时，会将屏幕挂在该函数组中；</p>
<p>生成成功后，打开函数组，则可以看到以表名称生成的两个关键的函数：</p>
<p><b>TABLEFRAME_</b>&lt;View Name&gt;</p>
<p><b>TABLEPROC_</b>&lt;View Name&gt;</p>
<p>以TABLEFRAME 开头的函数为视图创建了加载视图的容器框架，包括：菜单、表格容器等屏幕框架元素；</p>
<p>以TABLEPROC开头的函数则为视图在数据字典中获取数据，包括：动态获取表名称、字段、数据库记录等记录。</p>
<p>&nbsp;</p>
<p>3) 维护屏幕</p>
<p>操作屏幕的生成，<span class='wp_keywordlink_affiliate'><a href="http://www.sapjx.com/tag/sap" title="查看SAP中的全部文章" target="_blank">SAP</a></span>允许在同一个函数组中生成多个维护视图，然后通过屏幕号区别开来；</p>
<p>提供有单个屏幕和两个屏幕操作：</p>
<p>单个屏幕则在新建与修改时，直接在表格上直接维护数据；</p>
<p>两个屏幕则在新建与修改时，多出一个编辑记录屏幕出来，显示时仍然以列表形式显示。</p>
<p>这里主要以客户操作习惯进行选择创建。</p>
<p>&nbsp;</p>
<p>4) 维护视图数据请求</p>
<p>如若在开发机上维护的数据需要挂请求时，选择第一项后，在维护数据时，会弹出请求号的对话框供用户创建请求；</p>
<p>如若不需要对维护视图上的数据传输请求，则选择第二项。</p>
<p>&nbsp;</p>
<p>3. 修改屏幕</p>
<p>在维护视图中，有些字段需要对其进行限制，简单一些譬如：必输、只读等操作；</p>
<p>或者需要在输入栏位的同时，后面相对应有关联的栏位自动带出等，都可以直接在屏幕上修改。</p>
<p>&nbsp;</p>
<p>a.限制屏幕字段</p>
<p>点击表维护生成器上的屏幕链接：</p>
<p><img src="http://www.sapjx.com/wp-content/uploads/2014/11/view_maintenance_01_04_Maintenance_Screens.jpg" alt="view_maintenance_01_04_Maintenance_Screens" width="430" height="135" class="alignnone size-full wp-image-646" /></p>
<p>然后切换到 元素清单（Element List）下面的 特殊属性（Special Attribute）标签页：</p>
<p><img src="http://www.sapjx.com/wp-content/uploads/2014/11/view_maintenance_01_05_Screen_Element_List.jpg" alt="view_maintenance_01_05_Screen_Element_List" width="734" height="333" class="alignnone size-full wp-image-647" /></p>
<p>在Input栏位可以对相应的字段进行修改。包括有4种状态可供选择：</p>
<p><strong>Not Possible</strong>:  不可输</p>
<p><strong>Required</strong>：必输</p>
<p><strong>Recommended</strong>：只读</p>
<p><strong>Possible</strong>：可输入</p>
<p>&nbsp;</p>
<p>注意：如若屏幕表格需要调整，也可直接点击“格式”，编辑屏幕格式。</p>
<p>&nbsp;</p>
<p>b. 自动带出栏位内容</p>
<p>想要在维护视图上逻辑，可以有两种方法：</p>
<p>一种是在Flow Logic中直接添加 Module；</p>
<p>一种是在维护视图添加事件。</p>
<p>&nbsp;</p>
<p>这里推荐使用第二种，能保证数据完整和正确性；</p>
<p>因为第一种的话，当需要对Add-On表添加或者删除字段时，在更新维护视图时候，会覆盖Flow Logic中的程序。</p>
<p>因此最佳效果还是使用事件更为妥当。</p>
<p>关于事件的操作可以查看文章<a href="http://www.sapjx.com/table_aintenance_events.html" title="SAP维护视图(2)-表维护视图事件处理" target="_blank">《SAP维护视图(2)-表维护视图事件处理》</a>内容。</p>
<p>&nbsp;</p>
<p>当然，如果一些简单的操作，而且保证数据表结构变动不大的，可以在Flow Logic中添加程序。</p>
<p>操作很简单，直接在 Extract 数据集中，添加 Module，例如通过输入客户编号自动带出客户名称：</p>
<p><img src="http://www.sapjx.com/wp-content/uploads/2014/11/view_maintenance_01_06_Flow_Logic.jpg" alt="view_maintenance_01_06_Flow_Logic" width="493" height="272" class="alignnone size-full wp-image-648" /></p>
<p>&nbsp;</p>
<p>然后在Module中直接通过屏幕元素获取数据：</p>
<p><img src="http://www.sapjx.com/wp-content/uploads/2014/11/view_maintenance_01_07_Sceen_Moule.jpg" alt="view_maintenance_01_07_Sceen_Moule" width="632" height="147" class="alignnone size-full wp-image-649" /></p>
<p>&nbsp;</p>
<p><strong>4. 为视图创建事务码</strong></p>
<p>在SE93中，创建T-Code时，选择参数事务（Parameter Transaction）：</p>
<p><img src="http://www.sapjx.com/wp-content/uploads/2014/11/view_maintenance_01_08_Create_Transaction.jpg" alt="view_maintenance_01_08_Create_Transaction" width="590" height="360" class="alignnone size-full wp-image-650" /></p>
<p>a.在屏幕上输入查看维护视图的事务码：SM30；</p>
<p>b.勾选跳过启动屏幕；</p>
<p>c. 在默认值表格上维护视图名称与显示或更新标识：</p>
<p>SHOW – 默认显示</p>
<p>EDIT – 默认可编辑</p>
<p><img src="http://www.sapjx.com/wp-content/uploads/2014/11/view_maintenance_01_09_Change_Parameter_Transaction.jpg" alt="view_maintenance_01_09_Change_Parameter_Transaction" width="528" height="631" class="alignnone size-full wp-image-651" /></p>
<p>保存即可完成事务码的创建。</p>
<p>&nbsp;</p>
